import React, { useState } from 'react'

export default function Test() {
  const [count, setCount] = useState(10)
  let timer = null
  const handleClick = () => {
    // 每次点击按钮整个 Test 函数都会执行 1 此（当然也包括这儿）
    // 导致每次都会产生 1 个闭包变量 timer
    // !其实每次清除的是自己的闭包变量 timer，而不是上一次的
    clearInterval(timer)
    timer = setInterval(() => {
      setCount((count) => count - 1)
    }, 1000)
  }
  return (
    <div>
      <h3>{count}</h3>
      <button onClick={handleClick}>开启</button>
    </div>
  )
}
